/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package wypozyczalnia;

import commons.DbConnection;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author xxx
 */
public class PrzegladajUzytkownikaDAO extends commons.AbstractDAO {

    private Connection conn;
    private String query = "";
    private PreparedStatement prepStmt;
    private ResultSet rs;

    public PrzegladajUzytkownikaDAO() {
        conn = DbConnection.getConnection();
    }

    public String usunUzytkownika(String id) {
        try {
            boolean pozyczone=false;
            query = "SELECT numer_wypozyczenia FROM wypozyczenia WHERE ident_biblioteczny = ?";
            prepStmt = conn.prepareStatement(query);
            prepStmt.setString(1,id);
            ResultSet rs = prepStmt.executeQuery();
            if(rs.next()){
                pozyczone=true;
            }
            if(!pozyczone){
                query = "DELETE FROM `biblioteka`.`dane_logowania` WHERE `dane_logowania`.`ident_biblioteczny` = ?";
                prepStmt = conn.prepareStatement(query);
                prepStmt.setString(1,id);
                prepStmt.executeUpdate();
                query = "DELETE FROM `biblioteka`.`uzytkownicy` WHERE `uzytkownicy`.`ident_biblioteczny` = ?";
                prepStmt = conn.prepareStatement(query);
                prepStmt.setString(1,id);
                prepStmt.executeUpdate();
                return "usunieto";
            }else{
                return "blad";                
            }
        } catch (SQLException ex) {
            Logger.getLogger(PrzegladajUzytkownikaDAO.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }        
    }

    public ArrayList<PrzegladajUzytkownikaData> getListaUzytkownikow(String s) {
        ArrayList<PrzegladajUzytkownikaData> list = new ArrayList<PrzegladajUzytkownikaData>();

        try {
            query = "SELECT imie,nazwisko,dokument_tozsamosci,seria,data_ur,miejsce_ur,miasto,kod,ulica,telefon,email,data_rej,saldo,ident_biblioteczny FROM uzytkownicy WHERE nazwisko LIKE ?";

            prepStmt = conn.prepareStatement(query);
            prepStmt.setString(1, s + "%");
            rs = prepStmt.executeQuery();
            while (rs.next()) {
                PrzegladajUzytkownikaData data = new PrzegladajUzytkownikaData();
                data.setImie(rs.getString(1));
                data.setNazwisko(rs.getString(2));
                data.setDokument(rs.getString(3));
                data.setSeria(rs.getString(4));
                data.setData_ur(rs.getString(5));
                data.setMiejsce_ur(rs.getString(6));
                data.setMiasto(rs.getString(7));
                data.setKod(rs.getString(8));
                data.setUlica(rs.getString(9));
                data.setTelefon(rs.getString(10));
                data.setMail(rs.getString(11));
                data.setData_rej(rs.getString(12));
                data.setSaldo(rs.getString(13));
                data.setId_biblioteczny(rs.getString(14));
                list.add(data);
            }
            return list;

        } catch (SQLException ex) {
            Logger.getLogger(PrzegladajUzytkownikaDAO.class.getName()).log(Level.SEVERE, null, ex);
        }

        return null;
    }
}
